home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib11.dsk / FINANCIER - TAX DEPRECIATION.bas < prev    next >
BASIC Source File  |  2023-02-26  |  39KB  |  771 lines

  1. 100  REM  ----------------------
  2. 101  REM  FINANCIAL PROGRAM DISK
  3. 102  REM  (ARIES SOFTWARE)
  4. 103  REM      LARRY ABRAMS
  5. 104  REM  (C) ALL RIGHTS RESERVED
  6. 105  REM 
  7. 106  REM  VERSION 1.1  3.29.81
  8. 107  REM  MODULES 1000.2000 NEW
  9. 108  REM  APPLESOFT BASIC
  10. 109  REM  ----------------------
  11. 110 :
  12. 120  REM  ----------------------
  13. 121  REM  TAX DEPRECIATION SUB-
  14. 122  REM     ROUTINES ADDED BY
  15. 123  REM      ROGER S. GORDON
  16. 124  REM     TOUCHE ROSS & CO.
  17. 125  REM     SAN DIEGO,CALIF.
  18. 126  REM  COPYRIGHT MICRO-SPARC, INC
  19. 127  REM            1982
  20. 128  REM  ----------------------
  21. 200  REM  MENU
  22. 201  ONERR  GOTO 500
  23. 202  HOME : VTAB 2: HTAB 12: INVERSE : PRINT " SELECT ONE OF THE FOLLOWING ": NORMAL : GOSUB 400
  24. 204 G$ =  CHR$(7)
  25. 210  PRINT  TAB( 9)"STRAIGHT LINE DEPRECIATION  <1>"
  26. 220  PRINT  TAB( 3)"VAR RATE - DECL BAL DEPRECIATION  <2>"
  27. 230  PRINT  TAB( 12);"ACCRUED SIMPLE INTEREST  <3>"
  28. 240  PRINT  TAB( 18);"COMPOUND INTEREST  <4>"
  29. 250  PRINT  TAB( 10);"UNEARNED INTEREST REBATES  <5>"
  30. 260  PRINT  TAB( 5);"LINEAR REGRESSION / TREND LINE  <6>"
  31. 270  PRINT  TAB( 14);"EXPONENTIAL CURVE FIT  <7>"
  32. 280  PRINT  TAB( 14)"DIRECT REDUCTION LOAN  <8>"
  33. 290  PRINT  TAB( 14);"AMORTIZATION SCHEDULE  <9>"
  34. 292  GOSUB 400: PRINT  TAB( 24);"<RETURN> TO QUIT":VT =  PEEK(37) +2
  35. 293 HT = 30: VTAB VT: HTAB HT: CALL  -868: PRINT "WHICH":HT = 38:LS = 1: GOSUB 902:ANS =  VAL(CS$): IF  LEN(CS$) = 0  THEN  END 
  36. 295  IF  STR$(ANS) < >CS$  OR ANS = 0  THEN  PRINT G$;: GOTO 293
  37. 296  ON ANS GOTO 1000,2000,3000,4000,5000,6000,7000,8000,9000
  38. 298 :
  39. 300  REM  PRINT USING
  40. 302 P$ =  STR$( INT((P +.005) *100))
  41. 304  IF  LEN(P$) <3  THEN P$ =  LEFT$("000",(3 - LEN(P$))) +P$
  42. 305 PP$ =  LEFT$(P$,( LEN(P$) -2))
  43. 306  IF DP = 0  THEN P$ = PP$: GOTO 308
  44. 307 P$ = PP$ +"." + RIGHT$(P$,DP)
  45. 308 P$ =  RIGHT$("          " +P$,PL)
  46. 310  RETURN 
  47. 312 :
  48. 400  FOR DOT = 0 TO 39: PRINT ".";: NEXT DOT: RETURN 
  49. 402 :
  50. 500  REM  ERROR HANDLING ROUTINE
  51. 502  HOME : VTAB 5: INVERSE : PRINT "CHECK APPLESOFT MANUAL PG 136 FOR ERR": NORMAL 
  52. 504  PRINT : PRINT "ERROR IS NUMBER "; PEEK(222): PRINT "LOCATED IN LINE "; PEEK(218) + PEEK(219) *256: POKE 34,0: END 
  53. 505 :
  54. 600  REM  DAYS BETWEEN DATES
  55. 602  HOME : VTAB 5:A(4) = 0: PRINT "BEGINNING DATE  ";: GOSUB 606:A(4) = ND: PRINT 
  56. 604  PRINT "   ENDING DATE  ";: GOSUB 606:A(4) = ND -A(4): RETURN 
  57. 606  PRINT  CHR$(91);"YY"; CHR$(93);"YY.MMDD: ";: INPUT "";DTE
  58. 608 YRS =  INT(DTE):MOS =  INT((DTE -YRS) *100):DAYS =  INT((DTE -YRS -MOS/100) *1E4 +.5)
  59. 610 YRS = YRS -1900 *(YRS >99)
  60. 612  REM  ACTUAL DAYS (365)
  61. 613 YY = YRS -(MOS < = 2)
  62. 614 LD =  INT(.4 *MOS +2.3) *(MOS >2)
  63. 616 ND = 365 *YRS +31 *(MOS -1) +DAYS + INT(YY/4) -LD: RETURN 
  64. 618 :
  65. 620  REM  BANKING YEAR (360)
  66. 622 LD = DAYS
  67. 624  IF DAYS < >31  THEN 630
  68. 626  IF A(4) >0  AND PDAYS <30  THEN 630
  69. 628 LD = 30
  70. 630 ND = 360 *YRS +30 *MOS +LD:PDAYS = DAYS: RETURN 
  71. 632 :
  72. 700  REM  SCREEN DUMP TO PRINTER
  73. 702 LOC =  PEEK(105) + PEEK(106) *256 +2
  74. 704  PRINT  CHR$(4)"PR#1"
  75. 706  FOR LINE = TLINE TO BLINE
  76. 708  VTAB (LINE): CALL  -990
  77. 710  POKE LOC,40: POKE LOC +1, PEEK(40): POKE LOC +2, PEEK(41)
  78. 712  PRINT SCR$: NEXT LINE
  79. 714  PRINT  CHR$(4)"PR#0"
  80. 716  RETURN 
  81. 718 :
  82. 900  REM  DATA INPUT
  83. 901  FOR I = 0 TO LS:NS$(I) = " ": NEXT I:CS$ = ""
  84. 902  FOR I = 0 TO LS
  85. 904  VTAB VT: HTAB HT +I: GET NS$: IF NS$ =  CHR$(13)  THEN NS$(I) = "": GOTO 930
  86. 906  IF NS$ =  CHR$(8)  OR NS$ =  CHR$(21)  THEN 910
  87. 908  IF NS$ =  CHR$(44)  OR NS$ =  CHR$(58)  OR  ASC(NS$) <32  THEN  PRINT G$;: GOTO 904
  88. 910  IF NS$ =  CHR$(8)  AND I = 0  THEN 904
  89. 912  IF NS$ =  CHR$(8)  THEN I = I -1: GOTO 904
  90. 913  IF NS$ =  CHR$(21)  AND I <LS  THEN I = I +1: GOTO 904
  91. 914  IF I = LS  AND NS$ < > CHR$(13)  THEN  PRINT G$;: GOTO 904
  92. 916 NS$(I) = NS$: VTAB VT: HTAB HT +I:: PRINT NS$(I): NEXT I
  93. 930 AL = I:I = LS: NEXT I:CS$ = ""
  94. 932  FOR I = 0 TO AL -1:CS$ = CS$ +NS$(I): NEXT I
  95. 934  IF CS$ =  CHR$(13)  OR CS$ = ""  THEN  VTAB VT: HTAB HT: PRINT  SPC( LS): GOTO 938
  96. 936  VTAB VT: HTAB HT: PRINT CS$; SPC( LS - LEN(CS$))
  97. 938  PRINT : RETURN 
  98. 940 :
  99. 1000  REM  STRAIGHT LINE DEPRECIATION
  100. 1002 :
  101. 1004  REM  PROGRAM INSTRUCTIONS
  102. 1006  CLEAR :DP = 0:G$ =  CHR$(7): HOME : VTAB 10
  103. 1008  PRINT "INSTRUCTIONS? ";: POKE  -16368,0: GET ANS$: IF  LEFT$(ANS$,1) < >"Y"  THEN  HOME : VTAB 10: GOTO 1102
  104. 1010  HOME : VTAB 5: PRINT "  STRAIGHT LINE DEPRECIATION SCHEDULE": GOSUB 400
  105. 1012  PRINT "THE ANNUAL DEPRECIATION ALLOWANCE USING"
  106. 1014  PRINT "THIS METHOD IS DETERMINED BY DIVIDING"
  107. 1016  PRINT "THE COST (STARTING BOOK VALUE) LESS ITS"
  108. 1018  PRINT "ESTIMATED SALVAGE VALUE BY ITS USEFUL"
  109. 1020  PRINT "LIFE EXPECTANCY.  THAT IS:": PRINT 
  110. 1022  INVERSE : PRINT " DEPRECIATION ";: NORMAL : PRINT "=": PRINT 
  111. 1024  PRINT "(START BK VAL - SALVAGE VAL) / (LIFE)": PRINT 
  112. 1026 :
  113. 1100  REM  INPUT STARTING,SALVAGE,LIFE
  114. 1102  PRINT "1. STARTING BOOK VALUE ";: IF FLAG  THEN  PRINT A(1): GOTO 1106
  115. 1104  INPUT A(1)
  116. 1106  PRINT "2. SALVAGE VALUE"; TAB( 24);: IF FLAG  THEN  PRINT A(2): GOTO 1110
  117. 1108  INPUT A(2)
  118. 1110  PRINT "3. LIFE EXPECTANCY"; TAB( 24);: IF FLAG  THEN  PRINT A(3): GOTO 1114
  119. 1112  INPUT A(3):FLAG = 1
  120. 1114  PRINT : PRINT "ANY CHANGES? ";: POKE  -16368,0: GET ANS$: PRINT ANS$: IF  LEFT$(ANS$,1) = "N"  THEN 1118
  121. 1116  PRINT : INPUT "WHICH ONE? ";W: PRINT "CHANGE PART ";W;" TO: ";: INPUT A(W): HOME : VTAB 10: GOTO 1102
  122. 1118 BKVLUE = A(1):SALVAGE = A(2):LFE = A(3)
  123. 1119  GOTO 1500
  124. 1120  PRINT : PRINT "DISPLAY ENTIRE SCHEDULE? ";: POKE  -16368,0: GET ANS$: PRINT ANS$
  125. 1122  IF  LEFT$(ANS$,1) = "Y"  THEN I = 0: GOTO 1202
  126. 1124  PRINT "WHICH YEARS (START,END)";: INPUT I,J
  127. 1126 :
  128. 1200  REM  OUTPUT HEADINGS
  129. 1202  HOME : PRINT  TAB( 5);"DEPR"; TAB( 14);"REMAIN"; TAB( 25);"REMAIN"; TAB( 35);"TOTAL"
  130. 1204  PRINT "YR"; TAB( 4);"AMOUNT"; TAB( 12);"DEPR VALUE"; TAB( 23);"BOOK VALUE"; TAB( 35);"DEPREC";
  131. 1206  GOSUB 400: POKE 34,3
  132. 1208 :
  133. 1300  REM  CALCULATIONS/OUTPUT
  134. 1302  IF   NOT I  THEN I = 1:J = LFE
  135. 1304  IF J >LFE  THEN J = LFE
  136. 1306  FOR K = I TO J
  137. 1308 DEP = (BKVLUE -SALVAGE)/LFE:TDEP = K *DEP:RDV = (LFE -K) *DEP:RBV = RDV +SALVAGE
  138. 1310  PRINT  SPC( 1 -(K >9));K; TAB( 4);:PL = 7:P = DEP: GOSUB 300: PRINT P$;:PL = 10:P = RDV: GOSUB 300: PRINT P$;:P = RBV: GOSUB 300: PRINT P$;:P = TDEP: GOSUB 300: PRINT P$;: REM  
  139. 1312  NEXT K
  140. 1314 :
  141. 1400  REM  PROGRAM ENDING
  142. 1402  PRINT : VTAB 24: POKE 34,0
  143. 1404  PRINT "ANOTHER RUN? ";: POKE  -16368,0: GET ANS$: PRINT ANS$: IF  LEFT$(ANS$,1) = "Y"  THEN  HOME : VTAB 12: GOTO 1102
  144. 1406  GOTO 200: REM  RETURN TO MENU
  145. 1408 :
  146. 1500  REM  IRS TAX DEPRECIATION
  147. 1502  PRINT : PRINT "DO YOU WANT TO CALCULATE STRAIGHT LINE": PRINT "DEPRECIATION FOR FEDERAL INCOME TAX": PRINT "PURPOSES?  TYPE IN Y OR N"
  148. 1504  GET ANS$: PRINT ANS$
  149. 1506  IF ANS$ = "Y"  THEN  GOTO 1510
  150. 1508  GOTO 1120
  151. 1510 :
  152. 1620  PRINT : PRINT "IS THE ASSET YOU ARE DEPRECIATING": PRINT "REAL PROPERTY?"; TAB( 24);"TYPE IN   1"
  153. 1622  PRINT "PERSONAL PROPERTY?"; TAB( 24);"TYPE IN   2"
  154. 1624  PRINT "TO RETURN TO THE MENU"; TAB( 24);"TYPE IN   3"
  155. 1626  INPUT A(5)
  156. 1628  IF A(5) = 1  THEN  GOTO 1700
  157. 1630  IF A(5) = 2  THEN  GOTO 1800
  158. 1632  GOTO 200
  159. 1634 :
  160. 1700  REM  REAL PROPERTY TAX DEPRECIATION
  161. 1702 :
  162. 1704  REM  INPUT LIFE OF ASSET
  163. 1706  PRINT : PRINT "REAL PROPERTY MAY BE DEPRECIATED USING": PRINT "THE STRAIGHT LINE METHOD OVER EITHER": PRINT "15, 35, OR 45 YEARS."
  164. 1708  PRINT "WHICH LIFE DO YOU WANT?": PRINT "TYPE IN 15, 35, OR 45"
  165. 1710  INPUT LFE
  166. 1711  IF LFE = 15  THEN  GOTO 1716
  167. 1712  IF LFE = 35  THEN  GOTO 1716
  168. 1713  IF LFE = 45  THEN  GOTO 1716
  169. 1714  PRINT : PRINT "YOU DID NOT TYPE IN A 15, 35, OR 45.": PRINT : GOTO 1704
  170. 1716  REM  INPUT MONTH DEPRECIATION STARTS
  171. 1718  PRINT : PRINT "ENTER THE NUMBER OF THE MONTH OF THE": PRINT "FISCAL YEAR IN WHICH THE ASSET WAS": PRINT "PLACED IN SERVICE."
  172. 1720  PRINT "FOR EXAMPLE:  FOR A COMPANY WITH A": PRINT "DECEMBER YEAR END": PRINT  TAB( 5);"JANUARY="; TAB( 13);"1": PRINT  TAB( 5);"FEBRUARY="; TAB( 13);"2": PRINT  TAB( 5);"DECEMBER="; TAB( 12);"12"
  173. 1722  PRINT  TAB( 15);"FOR A COMPANY WITH A": PRINT "MAY 31 YEAR END": PRINT  TAB( 5);"JUNE="; TAB( 13);"1": PRINT  TAB( 5);"JULY="; TAB( 13);"2": PRINT  TAB( 5);"MAY="; TAB( 12);"12"
  174. 1724  INPUT MNTH
  175. 1726  IF MNTH = 0  THEN  PRINT : PRINT "ZERO IS NOT AN ACCEPTABLE MONTH.": PRINT : GOTO 1718
  176. 1728  IF MNTH >12  THEN  PRINT : PRINT "THERE ARE ONLY 12 MONTHS IN A YEAR!": PRINT : GOTO 1718
  177. 1730  PRINT : PRINT "DO YOU WANT TO DISPLAY ENTIRE SCHEDULE?": PRINT "ENTER Y OR N"
  178. 1732  GET ANS$: PRINT ANS$
  179. 1734  IF ANS$ = "Y"  THEN YEAR = 1:ZZ = LFE +1: GOTO 1754
  180. 1736  PRINT "WHICH YEARS (START,END) ";: INPUT YEAR,ZZ
  181. 1738  IF YEAR <1  THEN YEAR = 1: GOTO 1744
  182. 1740  IF YEAR >LFE +1  THEN  GOTO 1730
  183. 1744  IF ZZ >LFE +1  THEN ZZ = LFE +1
  184. 1746  IF YEAR >ZZ  THEN  GOTO 1730
  185. 1750 :
  186. 1752  REM  CALCULATE DEPRECIATION FOR FIRST YEAR
  187. 1754  GOSUB 2900
  188. 1756 DEP = ((BKVLUE -SALVAGE)/LFE) *((13 -MNTH)/12):TDEP = DEP:FDEP = DEP
  189. 1758 RDV = BKVLUE -SALVAGE -TDEP:RBV = RDV +SALVAGE
  190. 1760  IF YEAR = 1  THEN COUNTER = 1: GOSUB 2930:YEAR = 2
  191. 1762  REM  CALCULATE DEPRECIATION FOR REMAINING YEARS
  192. 1764  IF ZZ = LFE +1  AND MNTH >1  THEN  GOTO 1780
  193. 1766  FOR COUNTER = YEAR TO ZZ
  194. 1768 DEP = (BKVLUE -SALVAGE)/LFE:TDEP = ((COUNTER -1) *DEP) +FDEP
  195. 1770 RDV = BKVLUE -SALVAGE -TDEP:RBV = RDV +SALVAGE
  196. 1772  GOSUB 2930
  197. 1774  NEXT COUNTER
  198. 1776  GOTO 1400
  199. 1780 :
  200. 1782  FOR COUNTER = YEAR TO LFE
  201. 1784 DEP = (BKVLUE -SALVAGE)/LFE:TDEP = ((COUNTER -1) *DEP) +FDEP
  202. 1786 RDV = BKVLUE -SALVAGE -TDEP:RBV = RDV +SALVAGE
  203. 1788  GOSUB 2930
  204. 1790  NEXT COUNTER
  205. 1792 DEP = RDV:TDEP = TDEP +DEP
  206. 1794 RDV = BKVLUE -SALVAGE -TDEP:RBV = RDV +SALVAGE
  207. 1796  GOSUB 2930
  208. 1798  GOTO 1400
  209. 1799 :
  210. 1800  REM  PERSONAL PROPERTY TAX ROUTINE
  211. 1802 :
  212. 1804  PRINT : PRINT "PERSONAL PROPERTY MUST BE DEPRECIATED": PRINT "USING THE HALF YEAR CONVENTION.":MNTH = 7
  213. 1806  PRINT : PRINT "PERSONAL PROPERTY CAN BE DEPRECIATED": PRINT "OVER THE FOLLOWING LIVES IF THE": PRINT "STRAIGHT LINE METHOD IS USED."
  214. 1808  PRINT : PRINT : PRINT " 3-YEAR PROPERTY"; TAB( 20);" 3 OR 5 OR 12 YEARS": PRINT " 5-YEAR PROPERTY"; TAB( 20);" 5 OR 12 OR 25 YEARS": PRINT "10-YEAR PROPERTY"; TAB( 20);"10 OR 25 OR 35 YEARS"
  215. 1810  PRINT : PRINT "TYPE IN THE LIFE YOU WANT TO USE. ": INPUT LFE
  216. 1812  IF LFE = 3  THEN  GOTO 1730
  217. 1814  IF LFE = 5  THEN  GOTO 1730
  218. 1816  IF LFE = 10  THEN  GOTO 1730
  219. 1818  IF LFE = 12  THEN  GOTO 1730
  220. 1820  IF LFE = 25  THEN  GOTO 1730
  221. 1822  IF LFE = 35  THEN  GOTO 1730
  222. 1824  PRINT : PRINT "YOU HAVE TO TYPE IN ONE OF THE FOLLOWING": PRINT "NUMBERS:  3,5,10,12,25 OR 35!": GOTO 1806
  223. 1826 :
  224. 2000  REM  VARIABLE RATE - DECLINING BALANCE DEPRECIATION
  225. 2002 :
  226. 2004  REM  PROGRAM INSTRUCTIONS
  227. 2006  CLEAR :DP = 0:G$ =  CHR$(7): HOME : VTAB 10
  228. 2008  PRINT "INSTRUCTIONS? ";: POKE  -16368,0: GET ANS$: IF  LEFT$(ANS$,1) < >"Y"  THEN  HOME : VTAB 10: GOTO 2102
  229. 2010  HOME : VTAB 2: PRINT  TAB( 4)"VARIABLE RATE - DECLINING BALANCE": PRINT  TAB( 10)"DEPRECIATION SCHEDULE": GOSUB 400
  230. 2012  PRINT "THIS METHOD PROVIDES FOR MORE DEPRECIA-": PRINT "TION IN EARLIER YEARS AND DECREASING": PRINT "DEPRECIATION IN LATER YEARS."
  231. 2014  PRINT "THE VARIABLE RATE IS A FACTOR (E.G. 1.5": PRINT "OR 1.25) THAT'S THE SAME AS A DECLINING BALANCE PERCENTAGE."
  232. 2016  PRINT 
  233. 2018  PRINT "THIS SCHEDULE WILL ALSO GIVE THE CROSS-": PRINT "OVER POINT (HI-LIGHTED), WHERE THE": PRINT "SWITCH FROM THIS METHOD TO THE STRAIGHT"
  234. 2020  PRINT "LINE METHOD SHOULD BE MADE.  AT THIS": PRINT "POINT, STRAIGHT LINE DEPRECIATION IS"
  235. 2022  PRINT "GREATER THAN THAT BY THE DECLINING": PRINT "BALANCE METHOD."
  236. 2024  PRINT 
  237. 2026 :
  238. 2100  REM  INPUT STARTING,SALVAGE,LIFE,FACT
  239. 2102  PRINT "1. STARTING BOOK VALUE ";: IF FLAG  THEN  PRINT A(1): GOTO 2106
  240. 2104  INPUT A(1)
  241. 2106  PRINT "2. SALVAGE VALUE"; TAB( 24);: IF FLAG  THEN  PRINT A(2): GOTO 2110
  242. 2108  INPUT A(2)
  243. 2110  PRINT "3. LIFE EXPECTANCY"; TAB( 24);: IF FLAG  THEN  PRINT A(3): GOTO 2114
  244. 2112  INPUT A(3)
  245. 2114  PRINT "4. RATE FACTOR"; TAB( 24);: IF FLAG  THEN  PRINT A(4): GOTO 2118
  246. 2116  INPUT A(4):FLAG = 1
  247. 2118  PRINT : PRINT "ANY CHANGES? ";: POKE  -16368,0: GET ANS$: PRINT ANS$: IF  LEFT$(ANS$,1) = "N"  THEN 2122
  248. 2120  PRINT : INPUT "WHICH ONE? ";W: PRINT "CHANGE PART ";W;" TO: ";: INPUT A(W): HOME : VTAB 10: GOTO 2102
  249. 2122 BKVLUE = A(1):SALVAGE = A(2):LFE = A(3):FACT = A(4)
  250. 2123  GOTO 2500
  251. 2124  PRINT : PRINT "DISPLAY ENTIRE SCHEDULE?";: POKE  -16368,0: GET ANS$: PRINT ANS$
  252. 2126  IF  LEFT$(ANS$,1) = "Y"  THEN I = 0: GOTO 2202
  253. 2128  PRINT "WHICH YEARS (START,END)";: INPUT I,J
  254. 2130 :
  255. 2200  REM  OUTPUT HEADING
  256. 2202  HOME : PRINT  TAB( 5);"DEPR"; TAB( 14);"REMAIN"; TAB( 25);"REMAIN"; TAB( 35);"TOTAL"
  257. 2204  PRINT "YR"; TAB( 4);"AMOUNT"; TAB( 12);"DEPR VALUE"; TAB( 23);"BOOK VALUE"; TAB( 35);"DEPREC"
  258. 2206  GOSUB 400: POKE 34,3
  259. 2208 :
  260. 2300  REM  CALCULATION/OUTPUT
  261. 2302  IF   NOT I  THEN I = 1:J = LFE
  262. 2304  IF J >LFE  THEN J = LFE
  263. 2306  FOR K = 1 TO J
  264. 2308 DEP = (1 -FACT/LFE) ^(K -1) *(FACT/LFE) *BKVLUE:TDEP = (1 -((1 -FACT/LFE) ^(K))) *BKVLUE
  265. 2310 RDV = BKVLUE -SALVAGE -TDEP:RBV = RDV +SALVAGE
  266. 2312  IF (LFE -K) *DEP <RDV  THEN  INVERSE 
  267. 2314  PRINT  SPC( 1 -(K >9));K; TAB( 4);:PL = 7:P = DEP: GOSUB 300: PRINT P$;:PL = 10:P = RDV: GOSUB 300: PRINT P$;:P = RBV: GOSUB 300: PRINT P$;:P = TDEP: GOSUB 300: PRINT P$;: REM 
  268. 2316  NEXT K: NORMAL 
  269. 2318 :
  270. 2400  REM  PROGRAM ENDING
  271. 2402  PRINT : VTAB 24: POKE 34,0
  272. 2404  PRINT "ANOTHER RUN? ";: POKE  -16368,0: GET ANS$: PRINT ANS$: IF  LEFT$(ANS$,1) = "Y"  THEN  HOME : VTAB 12: GOTO 2102
  273. 2406  GOTO 200: REM  RETURN TO MENU
  274. 2408 :
  275. 2500  REM  IRS TAX DEPRECIATION
  276. 2502  PRINT : PRINT "DO YOU WANT TO CALCULATE ACCELERATED": PRINT "DEPRECIATION FOR FEDERAL INCOME TAX": PRINT "PURPOSES?  TYPE IN Y OR N"
  277. 2504  GET ANS$: PRINT ANS$
  278. 2506  IF ANS$ = "Y"  THEN  GOTO 2510
  279. 2508  GOTO 2124
  280. 2510  IF PHLAG = 1  THEN  GOTO 2620
  281. 2512  PRINT : PRINT "ONE MOMENT, PLEASE."
  282. 2514  DIM RTAXRTE(12,16)
  283. 2516  DIM PTAXRTE(3,10)
  284. 2518  REM  ***IRS DEPREC TABLES***
  285. 2520  REM  *** REAL PROPERTY ***
  286. 2522  DATA  12,10,9,8,7,6,6,6,6,5,5,5,5,5,5,0
  287. 2524  DATA  11,10,9,8,7,6,6,6,6,6,5,5,5,5,5,0
  288. 2526  DATA  10,11,9,8,7,6,6,6,6,5,5,5,5,5,5,1
  289. 2528  DATA  9,11,9,8,7,6,6,6,6,6,5,5,5,5,5,1
  290. 2530  DATA  8,11,10,8,7,7,6,6,5,5,5,5,5,5,5,2
  291. 2532  DATA  7,11,10,8,7,7,6,6,6,5,5,5,5,5,5,2
  292. 2534  DATA  6,11,10,9,8,7,6,5,5,5,5,5,5,5,5,3
  293. 2536  DATA  5,11,10,9,8,7,6,6,5,5,5,5,5,5,5,3
  294. 2538  DATA  4,11,10,9,8,7,6,6,5,5,5,5,5,5,5,4
  295. 2540  DATA  3,11,10,9,8,7,6,6,6,5,5,5,5,5,5,4
  296. 2542  DATA  2,11,10,9,8,7,6,6,6,6,5,5,5,5,5,4
  297. 2544  DATA  1,12,10,9,8,7,6,6,6,5,5,5,5,5,5,5
  298. 2546  REM  **PERSONAL PROPERTY**
  299. 2548  REM  ***THREE YEAR LIFE***
  300. 2550  DATA  25,38,37,0,0,0,0,0,0,0
  301. 2552  REM  ***FIVE YEAR LIFE***
  302. 2554  DATA  15,22,21,21,21,0,0,0,0,0
  303. 2556  REM  *** TEN YEAR LIFE ***
  304. 2558  DATA  8,14,12,10,10,10,9,9,9,9
  305. 2560  REM  *** DEPRECIATION RATES FOR PERSONAL PROPERTY CHANGE IN 1985 AND 1986***
  306. 2562  REM  ***FOR PERSONAL PROPERTY ASSETS PLACES IN SERVICE IN 1985, THE ABOVE DATA LINES SHOULD BE:
  307. 2564  DATA  29,47,24,0,0,0,0,0,0,0
  308. 2566  DATA  18,33,25,16,8,0,0,0,0,0
  309. 2568  DATA  9,19,16,14,12,10,8,6,4,2
  310. 2570  REM  ***FOR PERSONAL PROPERTY ASSETS PLACED IN SERVICE AFTER 12/31/85, THE DATA LINES SHOULD BE:
  311. 2572  DATA  33,45,22,0,0,0,0,0,0,0
  312. 2574  DATA  20,32,24,16,8,0,0,0,0,0
  313. 2576  DATA  10,18,16,14,12,10,8,6,4,2
  314. 2584 :
  315. 2588  REM  READ IN TAX RATES FOR REAL PROPERTY
  316. 2590  FOR MNTH = 1 TO 12
  317. 2592  FOR COUNTER = 1 TO 16
  318. 2594  READ RTAXRTE(MNTH,COUNTER)
  319. 2596  NEXT COUNTER
  320. 2598  NEXT MNTH
  321. 2599 :
  322. 2600  REM  REAS IN TAX RATES FOR PERSONAL PROPERTY
  323. 2602  FOR TYPE = 1 TO 3
  324. 2604  FOR COUNTER = 1 TO 10
  325. 2606  READ PTAXRTE(TYPE,COUNTER)
  326. 2608  NEXT COUNTER
  327. 2610  NEXT TYPE
  328. 2612 PHLAG = 1:OLDTABL = 1
  329. 2620  PRINT : PRINT "IS THE ITEM YOU ARE DEPRECIATING": PRINT "REAL PROPERTY?"; TAB( 24);"TYPE IN 1"
  330. 2622  PRINT "PERSONAL PROPERTY?"; TAB( 24);"TYPE IN 2"
  331. 2624  PRINT "TO RETURN TO MAIN MENU"; TAB( 24);"TYPE IN 3"
  332. 2626  INPUT A(5)
  333. 2628  IF A(5) = 1 GOTO 2700
  334. 2630  IF A(5) = 2 GOTO 2800
  335. 2632  GOTO 200
  336. 2634 :
  337. 2700  REM  REAL PROPERTY TAX DEPRECIATION
  338. 2701 TDEP = 0
  339. 2702  PRINT : PRINT "ENTER THE NUMBER OF THE MONTH OF THE": PRINT "FISCAL YEAR IN WHICH THE ASSET WAS": PRINT "PLACED IN SERVICE."
  340. 2704  PRINT "FOR EXAMPLE:  FOR A COMPANY WITH A": PRINT "DECEMBER 31 YEAR END": PRINT  TAB( 5);"JANUARY="; TAB( 13);"1": PRINT  TAB( 5);"FEBRUARY="; TAB( 13);"2";: PRINT  TAB( 5);"DECEMBER="; TAB( 12);"12"
  341. 2706  PRINT  TAB( 15);"FOR A COMPANY WITH A": PRINT "MAY 31 YEAR END": PRINT  TAB( 5);"JUNE="; TAB( 13);"1": PRINT  TAB( 5);"JULY="; TAB( 13);"2": PRINT  TAB( 5);"MAY="; TAB( 12);"12"
  342. 2708  INPUT MNTH
  343. 2710  IF MNTH = 0  THEN  PRINT : PRINT "ZERO IS NOT A ACCEPTABLE MONTH": PRINT : GOTO 2702
  344. 2712  IF MNTH >12  THEN  PRINT : PRINT "THERE ARE ONLY 12 MONTHS IN A YEAR!": PRINT : GOTO 2702
  345. 2714  PRINT : PRINT "DO YOU WANT TO DISPLAY ENTIRE SCHEDULE?": PRINT "ENTER Y OR N"
  346. 2716  GET ANS$: PRINT ANS$
  347. 2718  IF ANS$ = "Y"  THEN YEAR = 1:ZZ = 16: GOTO 2748
  348. 2720  PRINT "WHICH YEARS (START,END) ";: INPUT YEAR,ZZ
  349. 2730  IF YEAR <1  THEN YEAR = 1
  350. 2732  IF YEAR >16  THEN  GOTO 2714
  351. 2734  IF YEAR = 1  THEN  GOTO 2748
  352. 2736  FOR COUNTER = 1 TO (YEAR -1)
  353. 2738 DEP = BKVLUE *(RTAXRTE(MNTH,COUNTER)/100):TDEP = TDEP +DEP
  354. 2740  NEXT COUNTER
  355. 2744  IF ZZ >16  THEN ZZ = 16
  356. 2746  IF YEAR >ZZ GOTO 2714
  357. 2748  GOSUB 2900
  358. 2750 :
  359. 2752  FOR COUNTER = YEAR TO ZZ
  360. 2754 DEP = BKVLUE *(RTAXRTE(MNTH,COUNTER)/100):TDEP = TDEP +DEP
  361. 2756 RDV = BKVLUE -SALVAGE -TDEP:RBV = RDV +SALVAGE
  362. 2758  GOSUB 2930
  363. 2760  NEXT COUNTER
  364. 2770  GOTO 2400
  365. 2772 :
  366. 2800  REM  PERSONAL PROPERTY TAX DEPRECIATION ROUTINE
  367. 2802 TDEP = 0: GOSUB 2940
  368. 2804  PRINT : PRINT "WHAT TAX LIFE DOES YOUR ASSET HAVE?": PRINT "FOR A THREE YEAR LIFE, TYPE IN   3": PRINT "FOR A FIVE YEAR LIFE, TYPE IN  "; TAB( 34);"5": PRINT "FOR A TEN YEAR LIFE, TYPE IN  "; TAB( 33);"10"
  369. 2806  INPUT LFE
  370. 2808  IF LFE = 3  THEN TYPE = 1:ZZ = 3: GOTO 2820
  371. 2810  IF LFE = 5  THEN TYPE = 2:ZZ = 5: GOTO 2820
  372. 2812  IF LFE = 10  THEN TYPE = 3:ZZ = 10: GOTO 2820
  373. 2814  GOTO 2804
  374. 2820  PRINT : PRINT "DO YOU WANT TO DISPLAT ENTIRE SCHEDULE?": PRINT "ENTER Y OR N"
  375. 2822  GET ANS$: PRINT ANS$
  376. 2824  IF ANS$ = "Y"  THEN YEAR = 1: GOTO 2848
  377. 2826  PRINT "WHICH YEARS(START,END)";: INPUT YEAR,YY
  378. 2828  IF YEAR <1  THEN YEAR = 1
  379. 2830  IF YEAR >ZZ  THEN  GOTO 2804
  380. 2832  IF YY <YEAR  THEN  GOTO 2820
  381. 2834  IF YY >ZZ  THEN  GOTO 2820
  382. 2836 ZZ = YY
  383. 2838  IF YEAR = 1  THEN  GOTO 2848
  384. 2840  FOR COUNTER = 1 TO (YEAR -1)
  385. 2842 DEP = BKVLUE *(PTAXRTE(TYPE,COUNTER)/100):TDEP = TDEP +DEP
  386. 2844  NEXT COUNTER
  387. 2848  GOSUB 2900
  388. 2850 :
  389. 2852  FOR COUNTER = YEAR TO ZZ
  390. 2854 DEP = BKVLUE *(PTAXRTE(TYPE,COUNTER)/100):TDEP = TDEP +DEP
  391. 2856 RDV = BKVLUE -SALVAGE -TDEP:RBV = RDV +SALVAGE
  392. 2858  GOSUB 2930
  393. 2860  NEXT COUNTER
  394. 2870  GOTO 2400
  395. 2872 :
  396. 2900  REM  DEPRECIATION OUTPUT HEADING ROUTINE
  397. 2910  HOME : PRINT  TAB( 5);"DEPR"; TAB( 14);"REMAIN"; TAB( 25);"REMAIN"; TAB( 35);"TOTAL"
  398. 2920  PRINT "YR"; TAB( 4);"AMOUNT"; TAB( 12);"DEPR VALUE"; TAB( 23);"BOOK VALUE"; TAB( 35);"DEPREC"
  399. 2922  GOSUB 400: POKE 34,3: RETURN 
  400. 2930  REM  PRINT TAX DEPRECIATION OUTPUT
  401. 2936  PRINT  SPC( 1 -(COUNTER >9));COUNTER; TAB( 4);:PL = 7:P = DEP: GOSUB 300: PRINT P$;:PL = 10:P = RDV: GOSUB 300: PRINT P$;:P = RBV: GOSUB 300: PRINT P$;:P = TDEP: GOSUB 300: PRINT P$;: RETURN 
  402. 2938 :
  403. 2940  PRINT : PRINT "IF THE ASSET WAS PLACED IN SERVICE:": PRINT "PRIOR TO 1/1/85:    TYPE IN 1": PRINT "IN 1985:            TYPE IN 2": PRINT "AFTER 12/31/85:     TYPE IN 3"
  404. 2942  INPUT TABLE
  405. 2944  IF TABLE = 1  OR TABLE = 2  OR TABLE = 3  THEN  GOTO 2948
  406. 2946  GOTO 2940
  407. 2948  IF TABLE = OLDTABL  THEN  RETURN 
  408. 2950  IF TABLE >OLDTABL  THEN  GOTO 2972
  409. 2952  REM  SET POINTER BACK TO START OF DATA AND REREAD
  410. 2954  RESTORE : PRINT : PRINT "ONE MOMENT, PLEASE."
  411. 2956  REM  I% IS A DUMMY VARIABLE
  412. 2958  FOR I = 1 TO 192: READ I%: NEXT I
  413. 2960  IF I = 1 TO TABLE: GOSUB 2964: NEXT I: GOTO 2974
  414. 2962  REM  READ IN NEW PERSONAL PROPERTY TAX RATES
  415. 2964  FOR TYPE = 1 TO 3
  416. 2966  FOR COUNTER = 1 TO 10
  417. 2968  READ PTAXRTE(TYPE,COUNTER)
  418. 2970  NEXT COUNTER: NEXT TYPE: RETURN 
  419. 2972  FOR I = OLDTABL TO TABLE -1: GOSUB 2964: NEXT I
  420. 2974 OLDTABL = TABLE: RETURN 
  421. 2976 :
  422. 3000  REM  ACCRUED INTEREST
  423. 3002  CLEAR :DP = 2:G$ =  CHR$(7)
  424. 3004  HOME : VTAB 5: PRINT "ENTER A ZERO FOR ITEM TO CALCULATE:": PRINT 
  425. 3006  PRINT "1. BEGINNING AMOUNT"; TAB( 28);: IF FLAG  THEN  PRINT A(1): GOTO 3010
  426. 3008  INPUT A(1)
  427. 3010  PRINT "2. ANNUAL INTEREST RATE %"; TAB( 28);: IF FLAG  THEN  PRINT A(2): GOTO 3014
  428. 3012  INPUT A(2)
  429. 3014  PRINT "3. FUTURE AMOUNT"; TAB( 28);: IF FLAG  THEN  PRINT A(3): GOTO 3022
  430. 3016  INPUT A(3)
  431. 3018 FLAG = 0: VTAB 10: CALL  -958: PRINT : PRINT "DO YOU WISH TO CALCULATE THE NUMBER": INPUT "OF DAYS BETWEEN TWO DATES? ";ANS$
  432. 3020  IF  LEFT$(ANS$,1) = "Y"  THEN FLAG = 1: GOSUB 600: GOTO 3004
  433. 3022  VTAB 10: CALL  -958: PRINT "4. NUMBER OF DAYS"; TAB( 28);: IF FLAG  THEN  PRINT A(4): GOTO 3026
  434. 3024  INPUT A(4):FLAG = 1
  435. 3026  VTAB 15: INVERSE : PRINT " TYPE 'END' TO RETURN TO MENU ": NORMAL : PRINT : INPUT "ANY CHANGES? ";ANS$
  436. 3028  IF  LEFT$(ANS$,1) = "N"  THEN 3102
  437. 3030  IF  LEFT$(ANS$,1) = "E"  THEN 200
  438. 3032  INPUT "WHICH PART? ";W: IF W = 4  THEN 3018
  439. 3034  PRINT "CHANGE PART ";W;" TO: ";: INPUT A(W): GOTO 3004
  440. 3036 :
  441. 3100  REM  CALCULATION SECTION
  442. 3102  IF A(1) = 0  THEN A(1) = A(3)/(1 +(A(2)/36500 *A(4))):A(1) =  INT(A(1) *100 +.5)/100
  443. 3104  IF A(2) = 0  THEN A(2) = (A(3) -A(1)) *36500/(A(1) *A(4)):A(2) =  INT(A(2) *100 +.5)/100
  444. 3106  IF A(3) = 0  THEN A(3) = A(2)/36500 *A(1) *A(4):A(3) =  INT((A(1) +A(3)) *100 +.5)/100
  445. 3108  IF A(4) = 0  THEN A(4) = (A(3) -A(1))/(A(1) *A(2)/36500):A(4) =  INT(A(4) +.5)
  446. 3110  GOTO 3004
  447. 3112 :
  448. 4000  REM  COMPOUND INTEREST SECTION
  449. 4002  CLEAR :G$ =  CHR$(7)
  450. 4004  HOME : VTAB 5: PRINT "1. AMOUNT TO BE COMPOUNDED"; TAB( 30);: IF FLAG  THEN  PRINT A(1): GOTO 4008
  451. 4006  INPUT A(1)
  452. 4008  PRINT "2. YRLY INTEREST RATE (MAX)"; TAB( 30);: IF FLAG  THEN  PRINT A(2): GOTO 4012
  453. 4010  INPUT A(2)
  454. 4012  PRINT "3. CHANGE IN INTEREST RATE"; TAB( 30);: IF FLAG  THEN  PRINT A(3): GOTO 4020
  455. 4014  INPUT A(3)
  456. 4016 FLAG = 0: VTAB 8: CALL  -958: PRINT : PRINT "DO YOU WISH TO CALCULATE THE NUMBER": INPUT "OF DAYS BETWEEN TWO DATES? ";ANS$
  457. 4018  IF  LEFT$(ANS$,1) = "Y"  THEN FLAG = 1: GOSUB 600: GOTO 4004
  458. 4020  VTAB 8: CALL  -958: PRINT "4. NUMBER OF DAYS"; TAB( 30);: IF FLAG  THEN  PRINT A(4): GOTO 4024
  459. 4022  INPUT A(4):FLAG = 1
  460. 4024  VTAB 15: INVERSE : PRINT " TYPE 'END' TO RETURN TO MENU ": NORMAL : PRINT : INPUT "ANY CHANGES? ";ANS$
  461. 4026  IF  LEFT$(ANS$,1) = "N"  THEN 4034
  462. 4028  IF  LEFT$(ANS$,1) = "E"  THEN 200
  463. 4030  INPUT "WHICH PART? ";W: IF W = 4  THEN 4016
  464. 4032  PRINT "CHANGE PART ";W;" TO: ";: INPUT A(W): GOTO 4004
  465. 4034 AMT = A(1):IR = A(2):IC = A(3):DAYS = A(4)
  466. 4036 CP(1) = 360:CP(2) = 365:CP(3) = 12:CP(4) = 4
  467. 4038 :
  468. 4100  REM  OUTPUT HEADINGS
  469. 4102  HOME : VTAB 2: INVERSE : PRINT " COMPOUNDING $";AMT;" FOR ";DAYS;" DAYS. ": NORMAL : PRINT 
  470. 4104  PRINT "PCNT"; TAB( 7);"360 DAY"; TAB( 16);"365 DAY"; TAB( 26);"MONTH"; TAB( 34);"QUARTER";
  471. 4106  GOSUB 400: PRINT 
  472. 4108 :
  473. 4200  REM  CALCULATIONS/OUTPUT
  474. 4202 PL = 4:DP = 0:P = IR *100: GOSUB 300: PRINT P$;
  475. 4204  FOR X = 1 TO 4
  476. 4206 I = IR/(CP(X) *100)
  477. 4208 TIME =  INT(DAYS/ INT(365/CP(X)))
  478. 4210 FUTAMT = AMT *(1 +I) ^TIME
  479. 4212 PL = 9:DP = 2:P = FUTAMT
  480. 4214  GOSUB 300: PRINT P$;
  481. 4216  NEXT X
  482. 4218 :
  483. 4220  REM  TEST FOR PROGRAM END
  484. 4222 IR = IR -IC: IF  PEEK(37) <21  AND IR >0  THEN 4202
  485. 4224  VTAB 24: HTAB 26: PRINT "PRESS ANY KEY ";: CALL  -756: GOTO 4004
  486. 4226 :
  487. 5000  REM  UNEARNED INTEREST REBATE (RULE OF 78'S)
  488. 5002  CLEAR :DP = 2:G$ =  CHR$(7)
  489. 5004  HOME : VTAB 5: PRINT "1. TOTAL NUMBER OF PAYMENTS"; TAB( 30);: IF FLAG  THEN  PRINT A(1): GOTO 5008
  490. 5006 VT = 5:HT = 30:LS = 2: VTAB VT: HTAB HT: CALL  -868: GOSUB 900:A(1) =  VAL(CS$): IF A(1) = 0  OR  STR$(A(1)) < >CS$  THEN  PRINT G$;: GOTO 5006
  491. 5008  PRINT "2. MONTHLY PAYMENT AMOUNT"; TAB( 30);: IF FLAG  THEN  PRINT A(2): GOTO 5012
  492. 5010 VT = 6:HT = 30:LS = 6: VTAB VT: HTAB HT: CALL  -868: GOSUB 900:A(2) =  VAL(CS$): IF A(2) = 0  OR  STR$(A(2)) < >CS$  THEN  PRINT G$;: GOTO 5010
  493. 5012  PRINT "3. TOTAL FINANCE CHARGE"; TAB( 30);: IF FLAG  THEN  PRINT A(3): GOTO 5016
  494. 5014 VT = 7:HT = 30: VTAB VT: HTAB HT: CALL  -868: GOSUB 900:A(3) =  VAL(CS$): IF A(3) = 0  OR  STR$(A(3)) < >CS$  THEN  PRINT G$;: GOTO 5014
  495. 5016  PRINT "4. NUMBER OF PAYMENTS MADE"; TAB( 30);: IF FLAG  THEN  PRINT A(4): GOTO 5020
  496. 5018 VT = 8:HT = 30: VTAB VT: HTAB HT: CALL  -868:LS = 2: GOSUB 900:A(4) =  VAL(CS$):FLAG = 1: IF  STR$(A(4)) < >CS$  THEN  PRINT G$;: GOTO 5018
  497. 5020  VTAB 15: INVERSE : PRINT " TYPE 'END' TO RETURN TO MENU ": NORMAL 
  498. 5022  VTAB 17: HTAB 1: PRINT "ANY CHANGES?":VT = 17:HT = 14: VTAB VT: HTAB HT: CALL  -868:LS = 3: GOSUB 900: IF CS$ < >"Y"  AND CS$ < >"N"  AND  LEFT$(CS$,1) < >"E"  THEN  PRINT G$;: GOTO 5022
  499. 5024 CS$ =  LEFT$(CS$,1): IF CS$ = "E"  THEN 200
  500. 5026  IF CS$ = "N"  THEN 5034
  501. 5028  VTAB 18: HTAB 1: PRINT "WHICH ONE?":VT = 18:HT = 12: VTAB VT: HTAB HT: CALL  -868:LS = 1: GOSUB 900:W =  VAL(CS$): IF  STR$(W) < >CS$  OR W <1  OR W >4  THEN  PRINT G$;: GOTO 5028
  502. 5030  VTAB 19: HTAB 1: PRINT "CHANGE PART ";W;" TO:":VT = 19:HT = 19: VTAB VT: HTAB HT: CALL  -868:LS = 6 -4 *(W = 1  OR W = 4): GOSUB 900:A(W) =  VAL(CS$): IF  STR$(A(W)) < >CS$  THEN  PRINT G$;: GOTO 5030
  503. 5032  GOTO 5004
  504. 5034 NP = A(1):PMT = A(2):FC = A(3):NMADE = A(4)
  505. 5036 :
  506. 5100  REM  OUTPUT HEADING SECTION
  507. 5102  HOME : PRINT "PAYMENT"; TAB( 11);"REMAIN"; TAB( 22);"REBATE"; TAB( 33);"TOTAL"
  508. 5104  PRINT "NUMBER"; TAB( 11);"BALANCE"; TAB( 22);"AMOUNT"; TAB( 32);"INTEREST"
  509. 5106  GOSUB 400
  510. 5108 :
  511. 5200  REM  CALCULATION/OUTPUT
  512. 5202  FOR I = NMADE TO NP
  513. 5204 J = NP -I
  514. 5206 REBTE = ((J *FC) *(J +1))/(NP *(NP +1))
  515. 5208 BAL = (J *PMT) -REBTE
  516. 5210  PRINT  SPC( 3 -(I >9));I;:PL = 7:P = BAL: GOSUB 300: PRINT  TAB( 10);P$;:P = REBTE: GOSUB 300: PRINT  TAB( 21);P$;:P = FC -REBTE: GOSUB 300: PRINT  TAB( 32);P$
  517. 5212 :
  518. 5300  REM  PROGRAM ENDING
  519. 5302  IF  PEEK(37) <22  AND J >0  THEN  NEXT I
  520. 5304  VTAB 24: HTAB 26: PRINT "PRESS ANY KEY ";: CALL  -756: GOTO 5004
  521. 5306 :
  522. 6000  REM  LINEAR REGRESSION
  523. 6002 :
  524. 6004  REM  INITIALIZATION
  525. 6006  CLEAR :SCR$ = "":DP = 2:G$ =  CHR$(7): REM  SCR$ MUST BE FIRST STRING
  526. 6008  TEXT : HOME : VTAB 10: PRINT "INSTRUCTIONS?":VT = 10:HT = 15:LS = 1
  527. 6010  VTAB VT: HTAB HT: CALL  -868: GOSUB 900: IF CS$ = "N"  THEN 6202
  528. 6012  IF CS$ < >"Y"  THEN  PRINT G$;: GOTO 6010
  529. 6014 :
  530. 6100  REM  INSTRUCTIONS
  531. 6102 :
  532. 6104  HOME : VTAB 2: HTAB 6: PRINT "LINEAR REGRESSION - TREND LINE": GOSUB 400
  533. 6106  PRINT "A DETERMINISTIC FORECASTING MODEL CAN BE";: PRINT "REPRESENTED BY FITTING A STRAIGHT LINE": PRINT "THROUGH A GIVEN SET OF POINTS USING THE"
  534. 6108  PRINT "METHOD OF LEAST SQUARES.": PRINT 
  535. 6110  PRINT "ENTER AS MANY KNOWN PAIRS AS POSSIBLE.": PRINT "THEN ";: INVERSE : PRINT "Q";: NORMAL : PRINT "UIT TO GET A CALCULATED LINE OF": PRINT "THE FORM:  F(X) = A + B * X WITH A COEF.";
  536. 6112  PRINT "OF DETERMINATION BETWEEN ZERO AND ONE."
  537. 6114  PRINT : PRINT "ENTER AN INDEPENDENT VARIABLE VALUE AND": PRINT "INCREMENT TO GET A SCREEN OF CALCULATED"
  538. 6116  PRINT "PAIRS INCLUDING THE DESIRED INDIVIDUAL": PRINT "DEPENDENT VALUE ";: INVERSE : PRINT "HILIGHTED.": NORMAL 
  539. 6118  PRINT : PRINT "A COMMAND LINE PRESENTS THE OPPORTUNITY"
  540. 6120  PRINT "TO PRINT, ADD MORE DATA, SAME EQUATION"
  541. 6122  PRINT "OR QUIT."
  542. 6124  INVERSE : VTAB 20: HTAB 4: PRINT "P";: HTAB 15: PRINT "M";: HTAB 26: PRINT "S": VTAB 21: HTAB 4: PRINT "Q": NORMAL 
  543. 6126  VTAB 24: HTAB 6: PRINT "(PRESS ANY KEY TO CONTINUE)";: CALL  -756
  544. 6128 :
  545. 6200  REM  INPUT SECTION / MAIN PROGRAM
  546. 6202 XSUM = 0:YSUM = 0:X2RD = 0:Y2RD = 0:PROD = 0:N = 0
  547. 6204 X = 0:Y = 0: HOME : VTAB 2
  548. 6206  HTAB 5: PRINT "INDEPENDENT"; TAB( 25);"DEPENDENT": HTAB 6: PRINT "VARIABLE"; TAB( 25);"VARIABLE"
  549. 6208  HTAB 4: PRINT "-------------"; TAB( 24);"-----------"
  550. 6210  VTAB 12: HTAB 4: PRINT "ENTER POINT NUMBER:    OR ";: INVERSE : PRINT "Q";: NORMAL : PRINT "UIT.": VTAB 15: GOSUB 400
  551. 6212  VTAB 16: HTAB 4: PRINT "CURRENT STATUS OF VARIABLE SUMS:": PRINT 
  552. 6214  PRINT "INDEPENDENT VARIABLE:": PRINT "  DEPENDENT VARIABLE:": PRINT " INDEPENDENT SQUARES:": PRINT "   DEPENDENT SQUARES:": PRINT "PRODUCT OF VARIABLES:"
  553. 6216 N = N +1
  554. 6218 XSUM = XSUM +X:PL = 14:P = XSUM: GOSUB 300: VTAB 18: HTAB 24: PRINT P$
  555. 6220 YSUM = YSUM +Y:P = YSUM: GOSUB 300: VTAB 19: HTAB 24: PRINT P$
  556. 6222 X2RD = X2RD +X ^2:P = X2RD: VTAB 20: HTAB 24: IF P <1E8  THEN  GOSUB 300: PRINT P$: GOTO 6226
  557. 6224  PRINT  RIGHT$("     " + STR$(P),14)
  558. 6226 Y2RD = Y2RD +Y ^2:P = Y2RD: VTAB 21: HTAB 24: IF P <1E8  THEN  GOSUB 300: PRINT P$: GOTO 6230
  559. 6228  PRINT  RIGHT$("     " + STR$(P),14)
  560. 6230 PROD = PROD +X *Y: VTAB 22: HTAB 24: IF P <1E8  THEN  GOSUB 300: PRINT P$: GOTO 6234
  561. 6232  PRINT  RIGHT$("     " + STR$(P),14)
  562. 6234  VTAB 12: HTAB 24: PRINT N
  563. 6236 VT = 6:HT = 5:LS = 10: VTAB VT: HTAB 1: CALL  -868: GOSUB 900
  564. 6238  IF CS$ = "Q"  THEN 6300
  565. 6240 X =  VAL(CS$)
  566. 6242  IF  STR$(X) < >CS$  OR (X = 0  AND CS$ < >"0")  THEN  PRINT G$;: GOTO 6236
  567. 6244 VT = 6:HT = 25: VTAB VT: HTAB HT: CALL  -868: GOSUB 900
  568. 6246 Y =  VAL(CS$)
  569. 6248  IF  STR$(Y) < >CS$  OR (Y = 0  AND CS$ < >"0")  THEN  PRINT G$;: GOTO 6244
  570. 6250  GOTO 6216
  571. 6252 :
  572. 6300  REM  CALCULATE TREND LINE
  573. 6302 N = N -1
  574. 6304  IF N = 0  THEN 200
  575. 6306  IF N <2  THEN  VTAB 6: HTAB 1: CALL  -868: PRINT G$;"CAN'T CREATE TREND LINE WITH ONE POINT";G$: FOR PA = 1 TO 2000: NEXT : GOTO 6202
  576. 6308 SLOPE = (N *PROD -YSUM *XSUM)/(N *X2RD -XSUM ^2)
  577. 6310 CNST = (YSUM -SLOPE *XSUM)/N
  578. 6312 NUM = SLOPE *(PROD -XSUM *YSUM/N)
  579. 6314 DENOM = Y2RD -YSUM ^2/N
  580. 6316 COEFF = NUM/DENOM
  581. 6318 :
  582. 6400  REM  SET-UP OUTPUT TABLE
  583. 6402  HOME : PRINT "TREND LINE CALCULATED FROM ";N;" POINTS:"
  584. 6404  PRINT "F(X) = "; INT(CNST *1E3 +.5)/1E3;" + ("; INT(SLOPE *1E3 +.5)/1E3;") X"
  585. 6406  PRINT "COEFFICIENT OF DETERMINATION= "; INT(COEFF *1E4 +.5)/1E4
  586. 6408  GOSUB 400
  587. 6410  CALL  -958: VTAB 10: HTAB 1: PRINT "INDEPENDENT VALUE:": REM  GET VALUE
  588. 6412 VT = 10:HT = 20:LS = 10: VTAB VT: HTAB HT: CALL  -868: GOSUB 900
  589. 6414 X =  VAL(CS$): IF  STR$(X) < >CS$  OR (X = 0  AND CS$ < >"0")  THEN  PRINT G$;: GOTO 6412
  590. 6416  PRINT : PRINT "INCREMENTED BY   :": REM  GET CHANGE IN VALUE
  591. 6418 VT = 12:HT = 20:LS = 4: VTAB VT: HTAB HT: CALL  -868: GOSUB 900
  592. 6420 CH =  VAL(CS$)
  593. 6422  IF CS$ < > STR$(CH)  OR (CH = 0  AND CS$ < >"0")  THEN  PRINT G$;: GOTO 6418
  594. 6424 :
  595. 6500  REM  CALCULATION / OUTPUT
  596. 6502  VTAB 5: HTAB 1: CALL  -958: HTAB 4: PRINT "INDEPENDENT";: HTAB 20: PRINT "DEPENDENT": HTAB 7: PRINT "VARIABLE";: HTAB 21: PRINT "VARIABLE": HTAB 4: PRINT "-----------     ---------"
  597. 6504 ST = X -6 *CH:EN = X +6 *CH
  598. 6506  FOR I = ST TO EN  STEP CH
  599. 6508 P = I: GOSUB 300: PRINT P$;: IF I = X  THEN  INVERSE 
  600. 6510 P = SLOPE *I +CNST: GOSUB 300: PRINT P$: NORMAL 
  601. 6512  NEXT I
  602. 6514 :
  603. 6600  REM  PROGRAM ENDING?
  604. 6602  VTAB 22: GOSUB 400: PRINT "PRINT MORE DATA SAME EQUATION OR QUIT:";
  605. 6604  VTAB 23: INVERSE : HTAB 1: PRINT "P";: HTAB 7: PRINT "M";: HTAB 17: PRINT "S";: HTAB 34: PRINT "Q";: NORMAL 
  606. 6606 VT = 23:HT = 39: VTAB VT:LS = 1: HTAB HT: CALL  -868: GOSUB 900
  607. 6608  IF CS$ = "Q"  THEN 6202
  608. 6610  IF CS$ = "S"  THEN  VTAB 5: HTAB 1: GOTO 6410
  609. 6612  IF CS$ = "M"  THEN 6204
  610. 6614  IF CS$ < >"P"  THEN  PRINT G$;: GOTO 6606
  611. 6616 TLINE = 1:BLINE = 21: GOSUB 700: GOTO 6606
  612. 6618 :
  613. 7000  REM  EXPONENTIAL CURVE FIT
  614. 7002 :
  615. 7004  REM  INITIALIZATION
  616. 7006  CLEAR :SCR$ = "":DP = 2:G$ =  CHR$(7): REM  SCR$ MUST BE FIRST STRING
  617. 7008  TEXT : HOME : VTAB 10: PRINT "INSTRUCTIONS?":VT = 10:HT = 15:LS = 1
  618. 7010  VTAB VT: HTAB HT: CALL  -868: GOSUB 900: IF CS$ = "N"  THEN 7202
  619. 7012  IF CS$ < >"Y"  THEN  PRINT G$;: GOTO 7010
  620. 7014 :
  621. 7100  REM  INSTRUCTIONS
  622. 7102 :
  623. 7104  HOME : VTAB 2: HTAB 3: PRINT "EXPONENTIAL CURVE FIT - GROWTH CURVE": GOSUB 400
  624. 7106  PRINT "A DETERMINISTIC FORECASTING MODEL CAN BE";: PRINT "REPRESENTED BY FITTING A CURVED LINE": PRINT "THROUGH A GIVEN SET OF POINTS USING THE"
  625. 7108  PRINT "METHOD OF LEAST SQUARES.": PRINT 
  626. 7110  PRINT "ENTER AS MANY KNOWN PAIRS AS POSSIBLE,": PRINT "THEN ";: INVERSE : PRINT "Q";: NORMAL : PRINT "UIT TO GET A CALCULATED CURVE OF": PRINT "FORM: F(X)= EXP (A) + EXP (B * X) WITH A";
  627. 7112  PRINT "COEFF. OF DETERMINATION BETWEEN 0 AND 1."
  628. 7114  PRINT "ENTER AN INDEPENDENT VARIABLE VALUE AND": PRINT "INCREMENT TO GET A SCREEN OF CALCULATED"
  629. 7116  PRINT "PAIRS INCLUDING THE DESIRED INDIVIDUAL": PRINT "DEPENDENT VALUE ";: INVERSE : PRINT "HILIGHTED.": NORMAL 
  630. 7118  PRINT : PRINT "A COMMAND LINE PRESENTS THE OPPORTUNITY"
  631. 7120  PRINT "TO PRINT, ADD MORE DATA, SAME EQUATION"
  632. 7122  PRINT "OR QUIT."
  633. 7124  INVERSE : VTAB 20: HTAB 4: PRINT "P";: HTAB 15: PRINT "M";: HTAB 26: PRINT "S": VTAB 21: HTAB 4: PRINT "Q": NORMAL 
  634. 7126  VTAB 24: HTAB 6: PRINT "(PRESS ANY KEY TO CONTINUE)";: CALL  -756
  635. 7200  REM  INPUT SECTION / MAIN PROGRAM
  636. 7202 XSUM = 0:YLGSUM = 0:X2RD = 0:Y2RD = 0:PROD = 0:N = 0
  637. 7204 X = 0:Y = 0: HOME : VTAB 2
  638. 7206  HTAB 5: PRINT "INDEPENDENT"; TAB( 25);"DEPENDENT": HTAB 6: PRINT "VARIABLE"; TAB( 25);"VARIABLE"
  639. 7208  HTAB 4: PRINT "-------------"; TAB( 24);"-----------"
  640. 7210  VTAB 12: HTAB 4: PRINT "ENTER POINT NUMBER:    OR ";: INVERSE : PRINT "Q";: NORMAL : PRINT "UIT.": VTAB 15: GOSUB 400
  641. 7212  VTAB 16: HTAB 4: PRINT "CURRENT STATUS OF VARIABLE SUMS:": PRINT 
  642. 7214  PRINT "INDEPENDENT VARIABLE:": PRINT "LOG DEPNDNT VARIABLE:": PRINT " INDEPENDENT SQUARES:": PRINT "LOG DEPENDNT SQUARES:": PRINT "PRODUCT OF VARIABLES:"
  643. 7216 N = N +1
  644. 7218 XSUM = XSUM +X:PL = 14:P = XSUM: GOSUB 300: VTAB 18: HTAB 24: PRINT P$
  645. 7220  IF Y = 0  THEN 7224
  646. 7222 YLGSUM = YLGSUM + LOG(Y)
  647. 7224 P = YLGSUM: GOSUB 300: VTAB 19: HTAB 24: PRINT P$
  648. 7226 X2RD = X2RD +X ^2:P = X2RD: VTAB 20: HTAB 24: IF P <1E8  THEN  GOSUB 300: PRINT P$: GOTO 7230
  649. 7228  PRINT  RIGHT$("     " + STR$(P),14)
  650. 7230  IF Y = 0  THEN 7234
  651. 7232 Y2RD = Y2RD +( LOG(Y)) ^2
  652. 7234 P = Y2RD: VTAB 21: HTAB 24: IF P <1E8  THEN  GOSUB 300: PRINT P$: GOTO 7238
  653. 7236  PRINT  RIGHT$("     " + STR$(P),14)
  654. 7238  IF Y = 0  THEN 7242
  655. 7240 PROD = PROD +X * LOG(Y)
  656. 7242 P = PROD: VTAB 22: HTAB 24: IF P <1E8  THEN  GOSUB 300: PRINT P$: GOTO 7246
  657. 7244  PRINT  RIGHT$("     " + STR$(P),14)
  658. 7246  VTAB 12: HTAB 24: PRINT N
  659. 7248 VT = 6:HT = 5:LS = 10: VTAB VT: HTAB 1: CALL  -868: GOSUB 900
  660. 7250  IF CS$ = "Q"  THEN 7300
  661. 7252 X =  VAL(CS$)
  662. 7254  IF  STR$(X) < >CS$  OR (X = 0  AND CS$ < >"0")  THEN  PRINT G$;: GOTO 7248
  663. 7256 VT = 6:HT = 25: VTAB VT: HTAB HT: CALL  -868: GOSUB 900
  664. 7258 Y =  VAL(CS$)
  665. 7260  IF  STR$(Y) < >CS$  OR (Y = 0  AND CS$ < >"0")  THEN  PRINT G$;: GOTO 7256
  666. 7262  GOTO 7216
  667. 7264 :
  668. 7300  REM  CALCULATE EXP CURVE
  669. 7302 N = N -1
  670. 7304  IF N = 0  THEN 200
  671. 7306  IF N <2  THEN  VTAB 6: HTAB 4: CALL  -868: PRINT G$;"CAN'T FIT THE CURVE WITH ONE POINT";G$: FOR PA = 1 TO 2000: NEXT : GOTO 7202
  672. 7308 CURVE = (N *PROD -YLGSUM *XSUM)/(N *X2RD -XSUM ^2)
  673. 7310 CNST = (YLGSUM -CURVE *XSUM)/N
  674. 7312 NUM = CURVE *(PROD -XSUM *YLGSUM/N)
  675. 7314 DENOM = Y2RD -YLGSUM ^2/N
  676. 7316 COEFF = NUM/DENOM
  677. 7318 :
  678. 7400  REM  SET-UP OUTPUT TABLE
  679. 7402  HOME : PRINT " EXP. CURVE CALCULATED FROM ";N;" POINTS:"
  680. 7404  PRINT " F(X) = "; INT( EXP(CNST) *1E3 +.5)/1E3;" * EXP ("; INT(CURVE *1E3 +.5)/1E3;" X)"
  681. 7406  PRINT " COEFFICIENT OF DETERMINATION= "; INT(COEFF *1E4 +.5)/1E4
  682. 7408  GOSUB 400
  683. 7410  CALL  -958: VTAB 10: HTAB 1: PRINT "INDEPENDENT VALUE:": REM  GET VALUE
  684. 7412 VT = 10:HT = 20:LS = 10: VTAB VT: HTAB HT: CALL  -868: GOSUB 900
  685. 7414 X =  VAL(CS$): IF  STR$(X) < >CS$  OR (X = 0  AND CS$ < >"0")  THEN  PRINT G$;: GOTO 7412
  686. 7416  PRINT : PRINT "INCREMENTED BY   :": REM  GET CHANGE IN VALUE
  687. 7418 VT = 12:HT = 20:LS = 4: VTAB VT: HTAB HT: CALL  -868: GOSUB 900
  688. 7420 CH =  VAL(CS$)
  689. 7422  IF CS$ < > STR$(CH)  OR (CH = 0  AND CS$ < >"0")  THEN  PRINT G$;: GOTO 7418
  690. 7424 :
  691. 7500  REM  CALCULATION / OUTPUT
  692. 7502  VTAB 5: HTAB 1: CALL  -958: HTAB 4: PRINT "INDEPENDENT";: HTAB 20: PRINT "DEPENDENT": HTAB 7: PRINT "VARIABLE";: HTAB 21: PRINT "VARIABLE": HTAB 4: PRINT "-----------     ---------"
  693. 7504 ST = X -6 *CH:EN = X +6 *CH
  694. 7506  FOR I = ST TO EN  STEP CH
  695. 7508 P = I: GOSUB 300: PRINT P$;: IF I = X  THEN  INVERSE 
  696. 7510 P =  EXP(CURVE *I) * EXP(CNST): GOSUB 300: PRINT P$: NORMAL 
  697. 7512  NEXT I
  698. 7514 :
  699. 7600  REM  PROGRAM ENDING?
  700. 7602  VTAB 22: GOSUB 400: PRINT "PRINT MORE DATA SAME EQUATION OR QUIT:";
  701. 7604  VTAB 23: INVERSE : HTAB 1: PRINT "P";: HTAB 7: PRINT "M";: HTAB 17: PRINT "S";: HTAB 34: PRINT "Q";: NORMAL 
  702. 7606 VT = 23:HT = 39: VTAB VT:LS = 1: HTAB HT: CALL  -868: GOSUB 900
  703. 7608  IF CS$ = "Q"  THEN 7202
  704. 7610  IF CS$ = "S"  THEN  VTAB 5: HTAB 1: GOTO 7410
  705. 7612  IF CS$ = "M"  THEN 7204
  706. 7614  IF CS$ < >"P"  THEN  PRINT G$;: GOTO 7606
  707. 7616 TLINE = 1:BLINE = 21: GOSUB 700: GOTO 7606
  708. 7618 :
  709. 8000  REM  DIRECT REDUCTION LOAN
  710. 8002 :
  711. 8004  REM  PGM INITIALIZATION
  712. 8006  CLEAR :DP = 2:G$ =  CHR$(7)
  713. 8007 :
  714. 8100  REM  MENU / INPUT SECTION
  715. 8102  HOME : VTAB 5
  716. 8104  PRINT "1. MAX BORROW AMOUNT"; TAB( 25);: IF FLAG  THEN  PRINT A(1): GOTO 8108
  717. 8106  INPUT A(1)
  718. 8108  PRINT "2. CHANGE IN AMOUNT"; TAB( 25);: IF FLAG  THEN  PRINT A(2): GOTO 8112
  719. 8110  INPUT A(2)
  720. 8112  PRINT "3. MAX INTEREST RATE"; TAB( 25);: IF FLAG  THEN  PRINT A(3): GOTO 8116
  721. 8114  INPUT A(3)
  722. 8116  PRINT "4. CHANGE IN INT RATE"; TAB( 25);: IF FLAG  THEN  PRINT A(4): GOTO 8120
  723. 8118  INPUT A(4)
  724. 8120  PRINT "5. LOAN TERM (MONTHS)"; TAB( 25);: IF FLAG  THEN  PRINT A(5): GOTO 8124
  725. 8122  INPUT A(5):FLAG = 1
  726. 8124  PRINT : INVERSE : PRINT "TYPE 'END' TO RETURN TO MENU ": NORMAL : VTAB 18: INPUT "ANY CHANGES? ";Y$
  727. 8126  IF  LEFT$(Y$,1) = "N"  THEN 8146
  728. 8128  IF Y$ = "END"  THEN 200
  729. 8130  INPUT "WHICH ONE? ";W: PRINT "CHANGE PART ";W;" TO ";: INPUT A(W): GOTO 8102
  730. 8132 :
  731. 8134  REM  PAYMENT CALCULATION
  732. 8136 I = J/1200
  733. 8138 PMT = (K *I)/(1 -(1 +I) ^( -A(5)))
  734. 8140  RETURN 
  735. 8142 :
  736. 8144  REM  OUTPUT HEADING SECTION
  737. 8146  HOME : HTAB 13: INVERSE : PRINT " TERM: ";A(5);" MONTHS ": NORMAL 
  738. 8148  VTAB 2: PRINT "PRCNT";
  739. 8150  FOR K = A(1) -4 *A(2) TO A(1)  STEP A(2):P$ =  STR$( INT(K)):PL = 7: GOSUB 308: PRINT P$;: NEXT K
  740. 8152  GOSUB 400
  741. 8154 :
  742. 8156  REM  MAIN PROGRAM
  743. 8158 J = A(3)
  744. 8160 P = J:PL = 5: GOSUB 302: PRINT P$;
  745. 8162  FOR K = A(1) -4 *A(2) TO A(1)  STEP A(2)
  746. 8164  GOSUB 8136
  747. 8166 P = PMT:PL = 7: GOSUB 302: PRINT P$;
  748. 8168  NEXT K
  749. 8170 J = J -A(4)
  750. 8172  IF  PEEK(37) <22  AND J >0  THEN 8160
  751. 8174  VTAB 24: INVERSE : PRINT " ANY KEY FOR MENU ";: NORMAL 
  752. 8176  CALL  -756
  753. 8178  GOTO 8102
  754. 8180 :
  755. 9000  REM  AMORTIZATION SCHEDULE
  756. 9001  HOME : VTAB 5: INPUT "YEARLY INTEREST RATE % ";I:I = I/1200: INPUT "MONTHLY PAYMENT ";PMT: INPUT "INITIAL LOAN AMOUNT ";PV
  757. 9002  HOME :DP = 2:G$ =  CHR$(7)
  758. 9003  PRINT  TAB( 5);"PAID TO"; TAB( 15);"PAID"; TAB( 22);"REMAIN"; TAB( 33);"TOTAL"
  759. 9004  PRINT "NO"; TAB( 5);"PRINCIP"; TAB( 14);"TO INT"; TAB( 22);"BALANCE"; TAB( 32);"INTEREST": FOR DOT = 0 TO 39: PRINT ".";: NEXT DOT: POKE 34,3
  760. 9005 OB = PV:K = 1
  761. 9006 A = (1 +I) ^( -K)
  762. 9007 NB = (((A -1)/I) *PMT +PV)/A
  763. 9008  IF NB < = 0  THEN 9014
  764. 9009 PRIN = OB -NB:K$ =  STR$(K):K$ = K$ +"  ": PRINT  LEFT$(K$,3);:P = PRIN:PL = 7: GOSUB 300: PRINT P$;
  765. 9010 IN = PMT -PRIN:P = IN:PL = 9: GOSUB 300: PRINT P$;:P = NB:PL = 10: GOSUB 300: PRINT P$;
  766. 9011 TIN = K *PMT -PV +NB:P = TIN: GOSUB 300: PRINT P$
  767. 9012 K = K +1:OB = NB
  768. 9013  IF  PEEK(37) < >23  THEN 9006
  769. 9014  VTAB 24: INVERSE : PRINT " ESC TO EXIT OR ANY KEY TO CONTINUE ";: NORMAL 
  770. 9015  POKE  -16368,0: GET Z$: IF Z$ < > CHR$(27)  THEN  HOME : GOTO 9006
  771. 9016  POKE 34,0: GOTO 200